<?php

/**
 * 后台授权类
 * 
 * @author 陈蕾
 */

class Auth
{
    /**
     * Session 存储标识
     *
     * @var string
     */
    private static $id = 'admin_logged_in';

    /**
     * 登录
     * @param integer $username 用户名
     * @param integer $password 密码
     * @return boolean
     */
    public static function do_login($username, $password)
    {
        if ( ! ($user = ORM::factory('admin')->verify_login($username, $password))) {
            return FALSE;
        }

        Session::instance()->set(self::$id, $user);

        return TRUE;
    }

    /**
     * 登出
     *
     * @return boolean
     */
    public static function do_logout()
    {
        Session::instance()->delete(self::$id);
        return TRUE;
    }

    /**
     * 判断是否登录
     *
     * @return string
     */
    public static function has_logged_in()
    {
        return (bool)Session::instance()->get(self::$id);
    }

    /**
     * 获取已登录的用户名
     *
     * @return string
     */
    public static function get_name()
    {
        return Arr::get(Session::instance()->get(self::$id), 'a_name');
    }

    /**
     * 获取已登录的用户ID
     *
     * @return string
     */
    public static function get_id()
    {
        return Arr::get(Session::instance()->get(self::$id), 'a_id');
    }

    /**
     * 获取指定的登录信息
     *
     * @param $key
     * @return string
     */
    public static function get($key)
    {
        return Arr::get(Session::instance()->get(self::$id), $key);
    }
}